#include <windows.h>
#include <windowsx.h>
#include "BaseApplication.hpp"

namespace My {
    class WindowsApplication : public BaseApplication
    {
    public:
        WindowsApplication(GfxConfiguration& config)
            : BaseApplication(config) {};
        
        virtual int Initialize() override;
        virtual void Finalize() override;
        // One cycle of the main loop
        virtual void Tick() override;

        // the WindowProc funtion prototype
        static LRESULT CALLBACK WindowProc(HWND hWnd,
                        UINT message,
                        WPARAM wParam,
                        LPARAM lParam);
    };
}